*** Elm113/mailer.c	Sat Apr 18 17:06:10 1992
--- new/mailer.c	Fri May 01 00:05:09 1992
***************
*** 1,7 ****
--- 1,13 ----
  #include <signal.h>
  #include "prefs.h"
+ #ifdef LATTICE
  #include <proto/dos.h>
  #include <proto/exec.h>
+ #endif
+ #ifdef DICE
+ #include <clib/exec_protos.h>
+ #include <clib/dos_protos.h>
+ #endif
  
  static char *version = "\0$VER: AmigaElm 1.13 (Sun, 18 Apr 1992 22:20:27 MET)";
  
***************
*** 55,60 ****
--- 61,67 ----
  BOOL UseOwnScreen    = TRUE;  /* open elm window on workbench or own screen */
  BOOL ShanghaiWindows = TRUE;  /* shanghai mode (hijack windows) */
  BOOL ReverseSorting  = TRUE;  /* reverse sort order: newest mail first, oldest last */
+ BOOL ElmToFrontAllowed = TRUE;/* pop Elm window to front and activate after command */
  BOOL WBToFront       = FALSE; /* pop workbench to front for editor etc. */
  BOOL UseCmdClearKludge=FALSE; /* use the "Henning Schmiedehausen CMD_CLEAR kludge" */
  BOOL TopDownScrolling= FALSE; /* use slow (better looking) bottom-up scrolling */
***************
*** 241,251 ****
          if (RedisplayMenu) {
            sprintf(TBuffer,"\033[%d;1H\033[J",Win_Height-5);
            outline();
!           putst_center("!=shell, |=pipe, +, -, <, >, ?=help, <n>=set current to n");
            putch('\n');
            putst_center("c)hange folder, C)opy, d)elete, e)dit, f)orward, g)roup reply, ^G)oto last msg,");
            putch('\n');
            putst_center("m)ail, o)ptions, p)rint, q)uit, r)eply, s)ave, u)ndelete, w)rite, or e(x)it");
            RedisplayCmd=TRUE;
          }
  
--- 248,266 ----
          if (RedisplayMenu) {
            sprintf(TBuffer,"\033[%d;1H\033[J",Win_Height-5);
            outline();
! #ifndef NOMETAMAIL
!           putst_center("!=shell, |=pipe, +, -, <, >, ?=help, <n>=set current to n, c)hange folder,");
            putch('\n');
+           putst_center("C)opy, d)elete, e)dit, f)orward, g)roup reply, ^G)oto last msg, m)ail,");
+           putch('\n');
+           putst_center("M)ailto, o)ptions, p)rint, q)uit, r)eply, s)ave, u)ndelete, w)rite, e(x)it");
+ #else
+           putst_center("!=shell, |=pipe, +, -, <, >, ?=help, <n>=set current to n");
+           putch('\n');
            putst_center("c)hange folder, C)opy, d)elete, e)dit, f)orward, g)roup reply, ^G)oto last msg,");
            putch('\n');
            putst_center("m)ail, o)ptions, p)rint, q)uit, r)eply, s)ave, u)ndelete, w)rite, or e(x)it");
+ #endif
            RedisplayCmd=TRUE;
          }
  
***************
*** 278,283 ****
--- 293,299 ----
  
              i=c;
              switch (i) {
+ #if 0
  /*
                  case 0x9b:
                      c=getch();
***************
*** 305,310 ****
--- 321,327 ----
                      Escape=TRUE;
                      break;
  */
+ #endif
                  case '\016':
                  case '+':
                  case 'j':
***************
*** 387,393 ****
                  case '/':
                      putst("Extra Shell");
                      if (Shell)
!                       Execute(Shell,NULL,NULL);
                      else
                        status_msg("shell is undefined",100L);
                      Action=TRUE;
--- 404,410 ----
                  case '/':
                      putst("Extra Shell");
                      if (Shell)
!                       Execute(Shell,(BPTR)NULL,(BPTR)NULL);
                      else
                        status_msg("shell is undefined",100L);
                      Action=TRUE;
***************
*** 534,539 ****
--- 551,559 ----
                      putst(" $ : resynchronize folder            ? : this page of information\n");
                      putst(" m : send off new message            b : bounce (remail) message\n");
                      putst(" r : reply to message                g : group reply\n");
+ #ifndef NOMETAMAIL
+                     putst(" Mr: reply to message with mailto    Mg: group reply to message with mailto\n");
+ #endif
                      putst(" f : forward message                ^g : goto last message\n");
                      putst(" w : write text to file (no header)  s : save message to file (incl. header)\n");
                      putst(" C : copy to other user's folder     E : export message (archive)\n");
***************
*** 610,615 ****
--- 630,654 ----
                      Action=TRUE;
                      RedisplayCmd=TRUE;
                      break;
+ #ifndef NOMETAMAIL
+                 case 'M':
+                     {
+                       int answer;
+                       putst("mailto \033[3m [g)roup r)eply] \033[0m");
+                       answer=getch();
+                       if (answer=='g' || answer=='G') {
+                         putst("Group.");
+                         replyMIMEmail(Aktuell,TRUE);
+                       } else if (answer=='r' || answer=='R') {
+                         putst("Reply.");
+                         replyMIMEmail(Aktuell,FALSE);
+                       }
+                     }
+                     RedisplayCurrent=TRUE;
+                     RedisplayCmd=TRUE;
+                     Action=TRUE;
+                     break;
+ #endif
                  case 'n':
                      I->Status &= (~READ);
                      Action=TRUE;
